package com.linkgie.galaxyframework.metadata;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 外键标注；
 * <p>
 * 
 * 用于标注实体类型(标注{@link DataEntity}的类型)中的外键字段，与 {@link DataAggregate} 标注配合使用，<br>
 * 避免在 {@link DataAggregate#foreignKey()} 属性上硬编码
 * 
 * @author huanghaiquan
 *
 */
@Target({ ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ForeignKey {
	
	/**
	 * 外键关联的实体；
	 * 
	 * @return
	 */
	Class<?> model();
	
}
